home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / src / X11 / stars / stars.h < prev    next >
C/C++ Source or Header  |  1995-05-09  |  3KB  |  125 lines

  1. /*
  2.  *    @(#) stars.h 12.1 95/05/09 MRINC
  3.  */
  4. /*************************************************************************
  5.  *                                                                       *
  6.  *  Copyright (c) 1992, 1993 Ronald Joe Record                           *
  7.  *                                                                       *
  8.  *  All rights reserved. No part of this program or publication may be   *
  9.  *  reproduced, transmitted, transcribed, stored in a retrieval system,  *
  10.  *  or translated into any language or computer language, in any form or *
  11.  *  by any means, electronic, mechanical, magnetic, optical, chemical,   *
  12.  *  biological, or otherwise, without the prior written permission of:   *
  13.  *                                                                       *
  14.  *      Ronald Joe Record (408) 458-3718                                 *
  15.  *      212 Owen St., Santa Cruz, California 95062 USA                   *
  16.  *                                                                       *
  17.  *************************************************************************/
  18.  
  19. /*
  20.  *    Ported to X (SCO UNIX 3.2 ODT) by Ron Record (sco!rr) 27 Sep 1990.
  21.  */
  22.  
  23. #include <assert.h>
  24. #include <stdio.h>
  25. #include <values.h>
  26. #include <X11/StringDefs.h> 
  27. #include <X11/Intrinsic.h> 
  28. #include <X11/keysym.h> 
  29. #include <Xm/Xm.h> 
  30. #include <Xm/Form.h> 
  31. #include <Xm/PushB.h> 
  32. #include <Xm/DrawingA.h> 
  33. #include <Xm/ToggleB.h> 
  34. #include <X11/Xutil.h>
  35. #include <X11/Xatom.h>
  36.  
  37. #define ABS(a)    (((a)<0) ? (0-(a)) : (a) )
  38. #define Min(x,y) ((x < y)?x:y)
  39. #define Max(x,y) ((x > y)?x:y)
  40.  
  41. int x_center, y_center, col=1;
  42. int radius = 2;
  43. int fflag  = 0;
  44. int dflag  = 0;
  45. int write_mode = 4;
  46. int Fflag  = 0;
  47. int fill_style = 1;
  48. int icflag  = 1;
  49. int cflag  = 0;
  50. int lflag  = 0;
  51. int rflag  = 0;
  52. int pflag  = 0;
  53. int uflag  = 0;
  54. int NoShowButtons = 0;
  55. int FullScreen = 0;
  56. int bottom;
  57. Screen*        screen;
  58. Display*    dpy;
  59. char*        displayname = 0;
  60.  
  61. extern long time();
  62. extern int optind;
  63. extern char *optarg;
  64.  
  65. Widget framework, canvas, button[4];
  66. XtWorkProcId work_proc_id = (XtWorkProcId)NULL;
  67.  
  68. XtEventHandler     Getkey();
  69. void     resize();
  70. void     redisplay();
  71. void     quit();
  72. void     Warp();
  73. void     start_iterate();
  74. void     stop_iterate();
  75. Boolean  mvstars();
  76.  
  77. typedef struct {
  78.     int x, y, u, v;
  79. } xy_t;
  80.  
  81. typedef struct {
  82.     int left, right, top, bottom;
  83. } lrtb_t;
  84.  
  85. /* size of buffers which collect lines, circles, rectangles, etc. */
  86. #define MAXPOINTS 64
  87. /* maximum number of colors allowed */
  88. #define MAXCOLOR  256
  89. int    numcolors=256;
  90. /* Maximum star velocity */
  91. #define MAXVEL 4
  92. #define PROBFAR 6
  93. #define PROBNEAR 500
  94. /* default window size */
  95. #define MIN_WIDTH 480
  96. #define MIN_HEIGHT 360
  97.  
  98. struct{
  99.    XPoint  coord[MAXCOLOR][MAXPOINTS];
  100.    int     npoints[MAXCOLOR];
  101. } Points;
  102.  
  103. struct image_data {
  104.   int          ncolors;
  105.   GC           gc;
  106.   Dimension    width, height;
  107. } *Data[MAXCOLOR];
  108.  
  109. extern char *malloc();
  110.  
  111. #define NUMSIZ 4
  112. #define VEL_INC 8
  113.  
  114. int    turn=0, randcol=1, reverse=0, warp=1, initcolor;
  115. int    xinitialv=0, yinitialv=0, bindex=0, showit=0, maxstars=512;
  116. int    width=0, height=0, xflag=1, yflag=1;
  117. xy_t    midpt, velocity;
  118. xy_t    *newpos;
  119. xy_t    *initstars; 
  120. xy_t    *stars;
  121. int    *starcolor;
  122. int    *dist;
  123. int    distance=0, numgen=1;
  124. Boolean appDefaultsFileInstalled=False;
  125.